#!/usr/bin/env bash

# from https://github.com/bats-core/bats-core/issues/192#issuecomment-528315083
# thanks Sean Leather

# Rewrite the Bats scripts in-place to look more like Bash scripts to shfmt
perl -pi -e 's/^(\@test.*) \{$/$1\n{/' ./*.bats

tmpfile=$(mktemp)
for file in *bats; do
   shfmt -i 4 -ln bash -s "${file}" > "${tmpfile}"
   mv "${tmpfile}" "${file}"
done
rm -f "${tmpfile}"

# Undo the changes to the Bats scripts in-place so that they work with Bats
perl -pi -e 's/^\{\R//; s/(\@test.*$)/$1 {/' ./*.bats
